package com.cskaoyan.mapper;

import com.cskaoyan.bean.po.MarketRole;
import com.cskaoyan.bean.po.MarketRoleExample;
import com.cskaoyan.bean.chaosbean.role.permissions.vo.PerBO;
import com.cskaoyan.bean.chaosbean.role.permissions.vo.PerVO;
import com.cskaoyan.bean.chaosbean.system.vo.SystemOptionsVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MarketRoleMapper {
    long countByExample(MarketRoleExample example);

    int deleteByExample(MarketRoleExample example);

    int deleteByPrimaryKey(Integer id);

    int insert(MarketRole record);

    int insertSelective(MarketRole record);

    List<MarketRole> selectByExample(MarketRoleExample example);

    MarketRole selectByPrimaryKey(Integer id);

    int updateByExampleSelective(@Param("record") MarketRole record, @Param("example") MarketRoleExample example);

    int updateByExample(@Param("record") MarketRole record, @Param("example") MarketRoleExample example);

    int updateByPrimaryKeySelective(MarketRole record);

    int updateByPrimaryKey(MarketRole record);

    List<SystemOptionsVO.ListBean> selectAuth();

    MarketRole selectByName(MarketRole role);

    List<String> selectPer(Integer roleId);

    List<PerVO.SystemPermissionsBean> selectOuterDetail();

    List<PerVO.SystemPermissionsBean.ChildrenBeanX> selectMidDetail(String id);

    List<PerVO.SystemPermissionsBean.ChildrenBeanX.ChildrenBean> selectInnerDetail(String id);

    List<String> selectAllPer();


    void updateIn(@Param("roleId")Integer roleId, @Param("identical") List<String> identical);
    // ctrl+alt+shift+c
    void insertPer(PerBO perBO);
    //根据传进来的roleId进行全部逻辑删除
    void updateAllDel(Integer roleId);

    List<String> selectPerAll(Integer roleId);
}
